草庐IT

JavaScript window.opener 调用父函数

全部标签

javascript - 为什么在 JavaScript 中函数既是构造函数又是对象?

我最近对此进行了大量研究,但尚未得到真正可靠的答案。我在某处读到,当JavaScript引擎遇到函数语句时会创建一个新的Function()对象,这让我相信它可能是一个对象的子对象(因此成为一个对象)。所以我给DouglasCrockford发了邮件,他的回答是:Notexactly,becauseafunctionstatementdoesnotcallthecompiler.Butitproducesasimilarresult.此外,据我所知,您不能在函数构造函数上调用成员,除非它已被实例化为一个新对象。所以这是行不通的:functionmyFunction(){this.myP

javascript - 拥有一个返回另一个函数的反函数的函数值得付出努力吗?

我最近在我们的内部javascript库中添加了一个HasValue函数:functionHasValue(item){return(item!==undefined&&item!==null);}在与同事的一次谈话中,我们想到了添加另一个函数的想法,该函数基本上只是逆函数:可能是HasNoValue或IsNothing如果我们最终这样做,我们将:functionHasNoValue(item){return(item===undefined||item===null);}functionHasValue(item){return!HasNoValue(item);}但是,我们不确定同

javascript - window.opener 重定向后为空?

所以我在我的网站上添加了一个“使用Twitter登录”按钮。我在弹出窗口中显示Twitter登录。当用户登录到Twitter时,他们将被重定向回我网站上的一个页面,该页面调用window.opener上的javascript函数来通知页面登录已完成并刷新。问题是在twitter将用户重定向回我的站点window.opener后出现的。如果我绕过Twitter登录页面,该脚本可以正常工作。这似乎也是一个IE问题,因为它在Firefox中运行良好。有什么想法吗?提前致谢! 最佳答案 检查window.openerisnullafterr

javascript - Node.js 在 for 循环中调用回调函数

我试图在for循环中调用一个函数,但问题是该函数是在循环结束后调用的。以下面为例,它打印到控制台:这里1这里1这里2这里2代替这里1这里2这里1这里2report.forEach(item=>{item.runs.forEach(run=>{waComplianceBusiness(req,run.id,(err,res)=>{constcompliance=res.data.overviews[0].compliance;varfailureList=[];compliance.forEach((rule,index)=>{console.log('here1');waRuleOve

javascript - 如何在 SPA 应用程序中处理 "intention to open link in new page"?

嗯,在我的(react)单页应用程序中,我有很多“内部链接”。这些链接通过使用路由器存储更改url来工作。(Mobx+react)。由于html标准警告不要在没有实际href的情况下使用href,如果使用on_click事件,则应使用样式看起来像链接的按钮。这工作得很好。除了现在我希望改进使用,我希望允许消费者按下ctrl+click、鼠标中键或用户使用的深奥浏览器的任何键绑定(bind),以“在新选项卡中打开链接”。有没有办法获取浏览器点击的“意图”?-即查看用户的意图是否是在新选项卡中打开链接(按钮)?如果正常点击链接,不让用户重新加载页面?或者从另一方面来说:当点击一个相对URL

javascript - 是否有可能两个异步 Javascript 函数实例同时执行两个代码块?

我知道Javascript没有多线程,但我想知道以下代码是否有可能中断。我的理解是,除非调用异步函数,例如setTimeout或AJAX调用,否则一旦代码块开始执行,它就无法暂停,直到它完成或调用异步函数.基本上,用户选择多个复选框,然后点击一个按钮,该按钮对他们的选择执行AJAX处理。我的目标是拥有一个“正在保存...”图标,该图标仅在所有AJAX进程完成之前一直存在,并在所有进程完成后显示一条成功消息。除非出现任何AJAX错误,只要jQuery.post中的回调函数不间断地完整执行,我看不到if(numProcessed==toProcess)会执行多次或少于一次。但是如果两个AJ

javascript - 如何使用 jsdoc 记录函数生成器?

我正在尝试记录一个函数生成器但没有成功,这是一个例子:functiongenericObjectGenerator(tagname){varspecificObject=function(){};specificObject.getClassName=function(){returntagname;}specificObject.prototype.sayHello=function(name){returntagname+"sayshelloto"+name;}returnspecificObject;}varMyObject=genericObjectGenerator("obj

JavaScript,使用函数更改 HTML <p> 标记中显示的文本

我有一个HTML5Canvas,它在Canvas下方的页面上显示了一些图像和一段文本。我希望根据用户单击的图像更新段落中的文本以显示JS数组中的不同元素。目前,我有一个“鼠标按下”功能,如下所示:_mousedown:function(evt){this._setUserPosition(evt);varobj=this.getIntersection(this.getUserPosition());if(obj&&obj.shape){varshape=obj.shape;this.clickStart=true;shape._handleEvent('mousedown',evt)

java - 无法从 JavaScript 调用 JNLP 部署的小程序代码

这实际上是我关于Java的第一个问题,请耐心等待。我用这段代码构建了一个名为HelloWorldApp.class的愚蠢的简单小程序类:importjava.applet.Applet;classHelloWorldAppextendsApplet{staticfinallongserialVersionUID=6636669702238171717L;publicStringtest(){return"HelloWorld!";//Displaythestring.}}然后我从上述类文件构建了一个jar文件。之后,我做了一个愚蠢的简单JNLP文件:HelloWorldMe我将所有三个

javascript - touchenter 事件未被调用

谁能告诉我为什么touchenter事件在此代码中不起作用。mouseenter在桌面上工作正常。应该很简单,但我遗漏了一些东西。此处示例-http://jsfiddle.net/gCEqH/6/完整代码如下:$(window).load(function(){$('#myImg').on("touchentermouseenter",function(event){alert('entered!');});}); 最佳答案 也许这样的事情会奏效?varelementIdTouching="";$('body').on("touch